improved on version 1 :bowtie: