working and pretty code :+1: