seperated from monsters.cpp