Added depth buffer + started to abstract geometry