migrate to functions::prints&validates