be ready for main logical
minimum implementation