added minimal features
removed redundant methods
fixed broken spec