add load and save
add load, save and tests