Added many core functions