use camel case for function names, though it hurts a little