many ideas, minimal implementation