better way for readonly