added input parser