Small changes to interface and implementation