Refactoing in progress