better nameing and added docs