simple input handling and demo input test
added device factory class for easier device set management