implement intermediate drawer