first pass on GA library