made parser not static and added interface