all sorts of changes
prepared for mt with alignment wrapper
multithreading enabled
queue implementation
shared data in queues is too slow - keeping other changes