implemented major function, release 1.0