First upload of src and tests

New repo upload