corner collision fixed, could probably do with a refactor