final commit

Added comments
Added missing capacity.
Added two tests : if you initialize with a capacity < 3, overflow
Added contracts for capacity.