adapted structure
adapted for markyy