reworking client states
reworking directory structure