refactor
clean up
be more verbose