Building function framework