need to make changes
imbeded functions