Refactor Decl