Refatctoring and adding shits