implemented basic log