Refactor, extract parser from builder