git ignore rules
improve class interface