Refactor. New approach.