added enqueue highlevel producer
first version of high level producer some refactoring