no more messing around with print stmts, time for real code