Split out testing functions
Turn on warnings to hopefully minimize stupid bugs