refactored get put principle test