Basic functions implementation.