Implemented proper collision