reworked pieces
worked on state