input processor is now a singleton