changed name + added improvements + cleanup