A little bit refactory