Initial check-in: This is currently working but needs improvements.