add swagger support