working on some core functions