Initial version with working example.