Initial commit with fulling working implementation using tags.