changes in design
method validation to be done
method validation to be done