simplification
handle signals