This was kinda hard. made this in few hours.