works if there is no main