More work on software api