using info printout
refactor and doc strings