make gun system, refactor some others.