Add abstract render function