Actually, later, we can remove stupid checks - beyond the scope of this PR