tested superficially, works.