refactory: at the moment works.