script sucks improve it later