Add subscripting [] and equality == support
fix bug in description
expand tests significantly