refactor
error checking
error checking