frustration
not sure
include better sanity checker etc