refactored to comply with maven conventions