a simpler approach