Working, but needs some tweaks.