Issue #5 implements parse()