changes as requested by client WIP