indent function implement