Move to OO, add Parser and tags