should be complete. still needs input and cleaning