this is my third entry out of the three probably my best one
used some reference from @Princess_Coding 's entry and the rest by me