Improved core functions