implementation of empty functions