cleaner string work
handling -1 should not be the responsibility of bottles