further code consolitation ...