startup listener