minimal clientside lib