type signatures to satisfy -Wall