first upload

code as at 17.11