implemented major functions, release 1.0