Added default args, tidied up