removed borrowed code & camelcase