#4 Core functions implementation