Modify interface and implement all functions

Version: 1.0
I think it will work well in most cases;
Handle some arithmetic overflow in some implementations;
It can't double size automatically,
when the stack is full, do it yourself;