Generally okay, but needs several improvements.