begin enforcing more strong typing (Subroutines broken everywhere)