more useful stuff migrated from old project