[task] Add Queue struct, implement by list