Fixes and generalisation