added blocks logic;