cleanup / make more things optional