implementing: parser (return value is wrong yet)