renamed and changed a bit