refactored, and moved some stuff around