reflection and todo in abstract