changed to use builders, added extra documentation