Rewrite GET external interfaces and tweak internal routines