refactor ;)