updates based on Markus' input