language improvements, big thanks to @MichielVdAnker