why dont you read the docs which go over all of this?