jtong - refacorting, stop on half way, show how to add totally different method
jtong - refacorted, remove too many enemy reference