first commit of new fork, reworking a lot!