Initial version, complete rewrite