put expirations within lock object, add a skeleton test