abstract character