add attendance functionality closes #21