added box type
some cleanup, see task list