version 1 commit

working version, may contain errors.