Restruct to achieve efficiency