functions made data independent