basic operations finished