written. Will be used as template