Refactor further