reimplemented signal functions