Feature/scala reflection