Version 1.0: basic functions accomplished