Initial version with documentation