shitty grvity implementation
merge