Initial Version

1.Implement required functions