Initial commit

does not contain Igor's additional implementations