#10 add collision layer and enhance collision engine