Updated design. Broke encrypt function...its okay