Q&A module functional, needs a lot of refactoring