version 1.0 implementation