Working version using Ink