module functions work. need to reshuffle