required and almost B functionality, added a lot to top level and character gen