added builder many minor changes