add static languages
define method dynamically