some design decisions