diff --git a/Sources/main.c b/main.c
similarity index 100%
rename from Sources/main.c
rename to main.c
diff --git a/makefile b/makefile
index f3c5682a541f2d3ed52c14127720d9830a4df96f..2bef6553b0e8ddda4471641ccb93da0cdef6002c 100644
--- a/makefile
+++ b/makefile
@@ -1,30 +1,15 @@
-SRC_DIR := Sources
-OBJ_DIR := obj
-BIN_DIR := bin
+CC:=gcc
+CFLAGS:=-g -O3 -Wextra -pedantic -fsanitize=address
+LDFLAGS:=-lm
+NAME:=stack
 
-EXE := $(BIN_DIR)/stack.exe #exe name
-SRC := $(wildcard $(SRC_DIR)/*.c)
-OBJ := $(SRC:$(SRC_DIR)/%.c=$(OBJ_DIR)/%.o)
+$(NAME): main.o $(NAME).o
+    $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) -lSDL2
 
-CPPFLAGS := -Iinclude -MMD -MP
-CFLAGS   := -Wall
-LDFLAGS  := -Llib
-LDLIBS   := -lm
+tests: $(NAME)_tests.o $(NAME).o
+    $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
 
-.PHONY: all clean
-
-all: $(EXE)
-
-$(EXE): $(OBJ) | $(BIN_DIR)
-	$(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@
-
-$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c | $(OBJ_DIR)
-	$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
-
-$(BIN_DIR) $(OBJ_DIR):
-	mkdir -p $@
+$(NAME).o: $(NAME).h
 
 clean:
-	@$(RM) -rv $(BIN_DIR) $(OBJ_DIR)
-
--include $(OBJ:.o=.d)
\ No newline at end of file
+    rm -f *.o $(NAME) tests
\ No newline at end of file
diff --git a/Sources/stack.c b/stack.c
similarity index 100%
rename from Sources/stack.c
rename to stack.c
diff --git a/include/stack.h b/stack.h
similarity index 100%
rename from include/stack.h
rename to stack.h