added push_front; push_back to interface