add pixel perfect collision check