overall very good for what it's trying to do .
Subjectivity: subjective