Updated to use Achievement class over interface