it all works perfectly, commented everything