introduces factories for each operation, adds new histogram feature