Refine : Use forward declartion if possible, adjust include order