oh gash I hate this business of functions return non values