syntax sugar so that client doesn't have to use 'new' to create instance
one-off module support