assets refactor