Base functions implemented at last.