almost ready to implement save function and then deploy