reflection and all