V0.2: [updated] included assertion for defensive coding