update
rewrote domain side calsses
rewrote domain classes