avoiding reflect