adapted matplotlib backend