better location, add documentation