Refactor includes and forward decls